Method and apparatus for processing data on a computing device

ABSTRACT

A method and computing device for processing data are provided. Rule data for visually coding incoming data is stored. First and second profile data are stored, independent of the rule data. Each profile data comprises a respective range of time and a respective recurrence pattern that repeats indefinitely. Each profile data is associated with a respective subset of the rule data. Respective indications are received that first profile data and second profile have been activated. In response, the respective subset is automatically applied during the respective range of time such that incoming data is visually coded at the display device according to the respective subset during the respective range of time. Automatic application of the respective subset during the respective range of time repeats indefinitely according to the respective recurrence pattern until another indication that the respective profile data has been deactivated is received.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.12/684,262 filed Jan. 8, 2010, now U.S. Pat. No. 7,970,847, the contentsof which are incorporated herein by reference.

FIELD

The specification relates generally to computing devices, andspecifically to a method and apparatus for processing data on acomputing device.

BACKGROUND

When large number of emails arrive per day, it is often difficult todetermine which emails should be viewed urgently vs. e-mails which arenot urgent. While a simple color coding system has been used in theprior art to assign a given color and/or flag to given types of e-mail(e.g. based on a sender's e-mail address, a subject line etc.), such asystem does not address a problem of automatically determining when agiven e-mail should be urgently addressed according to a status. Forexample, an e-mail can be urgent, but not urgent enough to respond toduring certain time periods (e.g. evenings, weekends, vacations).

BRIEF DESCRIPTIONS OF THE DRAWINGS

Embodiments are described with reference to the following figures, inwhich:

FIG. 1 depicts a block diagram of a system including a computing devicefor processing data, according to non-limiting embodiments;

FIGS. 2 to 4 depict representations of an application for processingdata, according to non-limiting embodiments;

FIG. 5 depicts a flow chart of a method for processing data, accordingto non-limiting embodiments;

FIG. 6 depicts a block diagram of a system including a computing devicefor processing data, according to non-limiting embodiments;

FIG. 7 depicts a representation of an application for generating ruledata, according to non-limiting embodiments;

FIG. 8 depicts a representation of an application for generating profiledata independent of rule data, according to non-limiting embodiments;

FIG. 9 depicts a representation of an application for activating profiledata, according to non-limiting embodiments; and,

FIG. 10 depicts a flow chart of a method for processing data, accordingto non-limiting embodiments.

DETAILED DESCRIPTION OF THE EMBODIMENTS

A first aspect of the specification provides a method for processingdata on a computing device, the computing device comprising a processingunit interconnected with a display device. The method comprises storingprofile data comprising at least a start threshold, the profile dataassociated with rule data, the rule data comprising data for visuallycoding incoming data. The method further comprises automaticallyapplying the rule data when the start threshold is met such that theincoming data is visually coded at the display device according to therule data.

The method can further comprise automatically ceasing application of therule data to the incoming data when an end threshold of the profile datais met, such that the incoming data is no longer visually coded at thedisplay device according to the rule data.

The method can further comprise automatically ceasing application of therule data to the incoming data when a second start threshold of secondprofile data is met, such that the incoming data is no longer visuallycoded at the display device according to the rule data. The method canfurther comprise automatically applying second rule data associated withthe second profile data when the second start threshold is met such thatthe incoming data is visually coded at the display device according tothe second rule data.

The method can further comprise automatically ending visual coding ofpreviously received data when an end threshold of the profile data ismet.

The processing unit can be further interconnected with a memory devicestoring the profile data and the rule data.

Automatically applying the rule data when the start threshold is met canoccur in an application on the computing device, the incoming datacomprising message data, wherein the application comprises at least oneof a messaging application, an e-mail application, a voicemailapplication, an instant messaging application, an MMS (multimediamessaging service) application, an SMS (short message service)application, and a texting application.

The start threshold comprises at least one of a time of day, a day ofweek, a date, an indication of a beginning of a weekend, an indicationof an end of a work day, an indication of a beginning of a vacation, andthe start threshold can be based on at least one of usage of thecomputing device and user behavior.

The rule data for visually coding the incoming data can be based on atleast one of a subject of the incoming data, a network addressassociated with the incoming data, an alias, and at least one keywordwithin the incoming data.

The incoming data can be visually coded according to at least one ofcolor, font, and shading.

A second aspect of the specification provides a computing device forprocessing data. The computing device comprises a processing unitinterconnected with a display device. The processing unit is enabled to:store profile data comprising at least a start threshold, the profiledata associated with rule data, the rule data comprising data forvisually coding incoming data; and automatically apply the rule datawhen the start threshold is met such that the incoming data is visuallycoded at the display device according to the rule data.

The processing unit can be further enabled to automatically ceaseapplication of the rule data to the incoming data when an end thresholdof the profile data is met, such that the incoming data is no longervisually coded at the display device according to the rule data.

The processing unit can be further enabled to automatically ceaseapplication of the rule data to the incoming data when a second startthreshold of second profile data is met, such that the incoming data isno longer visually coded at the display device according to the ruledata. The processing unit can be further enabled to automatically applysecond rule data associated with the second profile data when the secondstart threshold is met such that the incoming data is visually coded atthe display device according to the second rule data.

The processing unit can be further enabled to automatically end visualcoding of previously received data when an end threshold of the profiledata is met.

The processing unit can be further interconnected with a memory devicestoring the profile data and the rule data.

Automatically applying the rule data when the start threshold is met canoccur in an application on the computing device, the incoming datacomprising message data, wherein the application comprises at least oneof a messaging application, an e-mail application, a voicemailapplication, an instant messaging application, an MMS application, anSMS application, and a texting application.

The start threshold can comprise at least one of a time of day, a day ofthe week, a date, an indication of a beginning of a weekend, anindication of an end of a work day, an indication of a beginning of avacation, and the start threshold can be based on at least one of usageof the computing device and user behavior.

The rule data for visually coding the incoming data can be based on atleast one of a subject of the incoming data, a network addressassociated with the incoming data, an alias, and at least one keywordwithin the incoming data.

The incoming data can be visually coded according to at least one ofcolor, font, and shading.

A third aspect of the specification provides a computer program product,comprising a computer usable medium having a computer readable programcode adapted to be executed to implement a method for processing data ona computing device, the computing device comprising a processing unitinterconnected with a display device. The method comprises storingprofile data comprising at least a start threshold, the profile dataassociated with rule data, the rule data comprising data for visuallycoding incoming data. The method further comprises automaticallyapplying the rule data when the start threshold is met such that theincoming data is visually coded at the display device according to therule data.

A fourth aspect of the specification provides a method for processingdata on a computing device, the computing device comprising a processingunit interconnected with a display device. The method comprises storingrule data comprising data for visually coding incoming data. The methodfurther comprises storing first profile data comprising a first range oftime and a first recurrence pattern that repeats indefinitely, the firstprofile data generated independent of the rule data. The method furthercomprises storing second profile data comprising a second range of timeand a second recurrence pattern that repeats indefinitely, the secondprofile data generated independent of the rule data and the firstprofile data. The method further comprises associating the first profiledata with a first subset of the rule data. The method further comprisesassociating the second profile data with a second subset of the ruledata. The method further comprises receiving a first indication that thefirst profile data has been activated and in response automaticallyapplying the first subset during the first range of time such that theincoming data is visually coded at the display device according to thefirst subset during the first range of time, automatic application ofthe first subset during the first range of time repeating indefinitelyaccording to the first recurrence pattern until a second indication thatthe first profile data has been deactivated is received. The methodfurther comprises receiving a third indication that the second profiledata has been activated and in response automatically applying thesecond subset during the second range of time such that the incomingdata is visually coded at the display device according to the secondsubset during the second range of time, automatic application of thesecond subset during the second range of time repeating indefinitelyaccording to the second recurrence pattern until a fourth indicationthat the second profile data has been deactivated is received.

The first profile data and the second profile data can each be generatedupon receipt of respective input data at an input device interconnectedwith the processing unit.

The first range of time can comprise a first start threshold and a firstend threshold, the receiving of the first indication that the firstprofile data has been activated comprising receiving an indication thatthe first start threshold has been met, and the second indicationcomprising an indication that the first end threshold has been met.

The second range of time can comprise a second start threshold and asecond end threshold, the receiving of the third indication that thesecond profile data has been activated comprising receiving anindication that the second start threshold has been met, and the fourthindication comprising an indication that the second end threshold hasbeen met.

Each of the first recurrence pattern and the second recurrence patterncan comprise at least one of every day, every week, every weekend, everyworkday, every workday evening, every vacation and every holiday.

The method can further comprise updating at least one of the first rangeof time, the first recurrence pattern, the second range of time and thesecond recurrence pattern based on at least one of usage of thecomputing device and user behavior.

The method can further comprise deactivating the first profile data whenthe second profile data is activated.

The method can further comprise resolving conflicts between the firstprofile data and the second profile data based on respective priorities.

The processing unit can be further interconnected with a memory devicestoring the profile data and the rule data.

Automatically applying the first profile data and automatically applyingthe second profile data can occur in an application on the computingdevice, the application comprising at least one of a messagingapplication, an e-mail application, a voicemail application, an instantmessaging application, an MMS application, an SMS application, and atexting application, and the incoming data comprising message data.

A fifth aspect of the specification provides a computing device forprocessing data. The computing device comprises a processing unitinterconnected with a memory device and a display device. The processingunit enabled to: store rule data in the memory device, the rule datacomprising data for visually coding incoming data; store first profiledata in the memory device, the first profile data comprising a firstrange of time and a first recurrence pattern that repeats indefinitely,the first profile data generated independent of the rule data; storesecond profile data in the memory device, the second profile datacomprising a second range of time and a second recurrence pattern thatrepeats indefinitely, the second profile data generated independent ofthe rule data and the first profile data; associate the first profiledata with a first subset of the rule data; associate the second profiledata with a second subset of the rule data; receive a first indicationthat the first profile data has been activated and in responseautomatically apply the first subset during the first range of time suchthat the incoming data is visually coded at the display device accordingto the first subset during the first range of time, automaticapplication of the first subset during the first range of time repeatingindefinitely according to the first recurrence pattern until a secondindication that the first profile data has been deactivated is received;and receive a third indication that the second profile data has beenactivated and in response automatically apply the second subset duringthe second range of time such that the incoming data is visually codedat the display device according to the second subset during the secondrange of time, automatic application of the second subset during thesecond range of time repeating indefinitely according to the secondrecurrence pattern until a fourth indication that the first profile datahas been deactivated is received.

The first profile data and the second profile data can each be generatedupon receipt of respective input data at an input device interconnectedwith the processing unit.

The first range of time can comprise a first start threshold and a firstend threshold, the processing unit further enabled to receive the firstindication that the first profile data has been activated by receivingan indication that the first start threshold has been met, and thesecond indication comprising an indication that the first end thresholdhas been met.

The second range of time can comprise a second start threshold and asecond end threshold, the processing unit further enabled to receive thethird indication that the second profile data has been activatedcomprising receiving an indication that the second start threshold hasbeen met, and the fourth indication comprising an indication that thesecond end threshold has been met.

Each of the first recurrence pattern and the second recurrence patterncan comprise at least one of every day, every week, every weekend, everyworkday, every workday evening, every vacation and every holiday.

The processing unit can be further enabled to update at least one of thefirst range of time, the first recurrence pattern, the second range oftime and the second recurrence pattern based on at least one of usage ofthe computing device and user behavior.

The processing unit can be further enabled to deactivate the firstprofile data when the second profile data is activated.

The processing unit can be further enabled to resolve conflicts betweenthe first profile data and the second profile data based on respectivepriorities.

The processing unit can be further enabled to automatically apply thefirst profile data and the automatically apply the second profile datain an application on the computing device, the application comprising atleast one of a messaging application, an e-mail application, a voicemailapplication, an instant messaging application, an MMS application, anSMS application, and a texting application, and the incoming datacomprising message data.

A sixth aspect of the specification provides computer program product,comprising a computer usable medium having a computer readable programcode adapted to be executed to implement a method for processing data ona computing device, the computing device comprising a processing unitinterconnected with a display device, the method comprising: storingrule data comprising data for visually coding incoming data; storingfirst profile data comprising a first range of time and a firstrecurrence pattern that repeats indefinitely, the first profile datagenerated independent of the rule data; storing second profile datacomprising a second range of time and a second recurrence pattern thatrepeats indefinitely, the second profile data generated independent ofthe rule data and the first profile data; associating the first profiledata with a first subset of the rule data; associating the secondprofile data with a second subset of the rule data; receiving a firstindication that the first profile data has been activated and inresponse automatically applying the first subset during the first rangeof time such that the incoming data is visually coded at the displaydevice according to the first subset during the first range of time,automatic application of the first subset during the first range of timerepeating indefinitely according to the first recurrence pattern until asecond indication that the first profile data has been deactivated isreceived; and receiving a third indication that the second profile datahas been activated and in response automatically applying the secondsubset during the second range of time such that the incoming data isvisually coded at the display device according to the second subsetduring the second range of time, automatic application of the secondsubset during the second range of time repeating indefinitely accordingto the second recurrence pattern until a fourth indication that thefirst profile data has been deactivated is received.

FIG. 1 depicts a system 100 comprising a computing device 101 forprocessing data, according to non-limiting embodiments. Computing device101 generally comprises a processing unit 122 interconnected with amemory device 125, an input device 126 and a display device 128. Asdepicted, input device 126 and display device 128 are external tocomputing device 101, however in other embodiments, computing device 101can comprise input device 126 and display device 128. Computing device101 is enabled to receive incoming data 133, hereinafter referred to asdata 133, from at least a second computing device 134 via a link 137.Data 133 can comprise at least one of message data, e-mail data, avoicemail data, instant messaging data, MMS (multimedia messagingservice) data, SMS (short message service) data, and texting data.However, in exemplary embodiments described hereafter, data 133 will bedescribed with respect to e-mails, though this is not to be consideredunduly limiting. Furthermore, it is understood that similar methods andsystems comprising other message data are within the scope of presentembodiments. Memory device 125 is enabled to store data 133, profiledata 135 and rule data 137, described below. While only data 133 isdepicted in FIG. 1, it is understood that memory device 125 can storeany suitable number of sets of incoming data, one for each messagereceived for example.

In any event, data 133 can be displayed at display device 128 via anapplication 141 at computing device 101, which can be stored in memorydevice 125 and processed by processing unit 122. Application 141 cancomprise at least one of a messaging application, an e-mail application,a voicemail application, an instant messaging application, an MMSapplication, an SMS application, and a texting application, application141 generally compatible with data 133. Upon processing application 141,processing unit 122 can control circuitry 139 in display device 128 toprovide a representation 140 of application 141.

For example, FIG. 2 depicts representation 140 of application 141,according to exemplary non-limiting embodiments. While in embodimentsdepicted in FIG. 2, application 141 comprises a messaging/e-mailapplication, it is understood that in other embodiments, application 141can comprise any suitable application. In any event, from FIG. 2 it isunderstood that representation 140 of application 141 comprises arepresentation 201 of an “INBOX” for providing indications of messagedata, such as data 133. For example, representation 201 comprises a listof message data received from various network addresses, as indicated ina field 203 (“FROM”), on various subjects, as indicated in a filed 205(“SUBJECT”), as well a field 207 for indicating when the message datawas received (“RECEIVED”). It is understood that the data in field 203can comprise an alias of an underlying network address: for example“Cathy Johannson” can represent a network address of second computingdevice 134. It is further understood that further message data, such asa body of an e-mail, can be provided in representation 140 when inputdata is received indicating that a given set of message data has beenchosen for opening (e.g. a message in the list in representation 201 isclicked on using a pointing device). It is furthermore understood thateach line of representation 201 corresponds to a different set ofincoming data, similar to incoming data 133, as represented by lines211, 213, 214 which will be described in further detail below.

It is understood that representation 140 of application 141 can furthercomprise a header 215 and virtual buttons 217, 219, 221 which, whenactuated, can cause processing unit 122 to respectively initiate a“REPLY”, a “REPLY TO ALL”, or a “FORWARD” to/of a highlighted message inthe list of representation 201.

It is further understood that representation of application 140 canfurther comprise an indication 221 of a present time and date (“18:30Thursday Nov. 26, 2009”).

Returning now to FIG. 1, rule data 137 can comprise data for visuallycoding data 133 in representation 140. Rule data 137 for visually codingdata 133 is based on at least one of a subject of data 133, a networkaddress associated with data 133, an alias, and at least one keywordwithin data 133, or the like. Furthermore, visual coding of data 133 cancomprise visual coding according to at least one of color, font, andshading, and different set of rule data within rule data 137 can beassociated with different types of visual coding. Five non-limitingexamples of a set of rule data comprising various criteria for visuallycoding data 133 are provided in Table 1, though the number of sets ofrule data is not be considered unduly limiting, and rule data 137 cancomprise more or fewer sets of rule data as desired; in someembodiments, rule data 137 can comprise Table 1:

TABLE 1 1 SUBJECT Equals “CEO” RIGHT HATCHING 2 SUBJECT Contains “CEO”RIGHT HATCHING 3 FROM Equals “Cathy BOLD FONT Johannson” 4 BODY Contains“URGENT” LEFT HATCHING 5 BODY Contains “Urgent” RED

While Table 1 is arranged in rows and columns, rule data 137 cancomprise any suitable format. In any event, each line in Table 1comprises a different set of criteria. For example, line 1 indicatesthat when a subject of data 133, as represented by the text in field 207of representation 201, equals a given set of alpha-numeric characters,such as “CEO”, then an associated line in representation 201 is to beshaded with right hatching. Similarly, line 2 indicates that when asubject of data 133, as represented by the text in field 207 ofrepresentation 201, contains a given set of alpha-numeric characters,such as “CEO”, then an associated line in representation 201 is to beshaded with right hatching. Line 3 of Table 1 indicates that when anetwork address associated with data 133, as represented by the text infield 203 of representation 201, equals a given set of alpha-numericcharacters, such as “Cathy Johannson” (and/or a given network addressand/or a given alias), then an associated line in representation 201 isto be visually coded with a bold font. Lines 4 and 5 of Table 1indicates that when a body of data 133 (e.g. the body of an e-mail, notdepicted) contains a given set of alpha-numeric characters, such as“Urgent”, then an associated line in representation 201 is to be shadedwith left hatching and colored red.

It is understood that rule data 137 can comprise any suitable number ofrules for visually coding data 133 in representation 140.

While only rules pertaining to fields of messages and/or e-mails areprovided in Table 1, it is understood that rule data 137 can compriseany suitable types of rules.

In some embodiments, rule data 137 can be generated using a suitablerepresentation of an application for generating rules, such asrepresentation 700 depicted in FIG. 7 described below.

In some embodiments, memory device 125 can store any suitable number ofsets of rule data, for example rule data 138, 139. Each of rule data138, 139 can be similar or different to rule data 137. For example, atleast part of one of rule data 138, 139 can comprise a subset of ruledata 137, or at least one of rule data 138, 139 can comprise a supersetof rule data 137. However, in other embodiments at least part one ofrule data 138, 139 can comprise a different set of data for visuallycoding data 133.

For example, rule data 138 can comprise a set of rule data that definesthat when a “FROM” field of data 133 contains “Cathy Johannson”, then anassociated line in representation 201 is to be shaded with righthatching. Similarly, rule data 139 can comprise a set of rule data thatdefines that when a “FROM” field of data 133 contains “Cathy Johannson”,then an associated line in representation 201 is to be colored with red.

Profile data 135 comprises at least a start threshold for automaticallyapplying rule data 137 such that when the start threshold is met data133 is visually coded at display device 128 according to rule data 137.Profile data 135 can further comprise an end threshold for ceasingapplication of rule data 137. In some embodiments, at least one of thestart threshold and the end threshold can comprise at least one of atime of day, a day of the week, a date, an indication of a beginning ofa weekend, an indication of an end of a work day, and an indication of abeginning of a vacation.

Five non-limiting examples of profile data comprising various criteriafor visually coding data 133 are provided in Table 2; in someembodiments, profile data 135 can comprise at least one line of Table 2:

TABLE 2 Profile Name Start Threshold End Threshold Rule Data 1 Evenings17:00 Weekdays 09:00 Weekdays 137 2 Weekends 17:00 Fridays 09:00 Mondays138 3 Workdays 09:30 Weekdays 17:00 Weekdays None 4 Holidays December 25138 5 Vacations Feb. 11, 2010 Feb. 23, 2010 139

While Table 2 is arranged in rows and columns, profile data 135 cancomprise any suitable format. In any event, each line in Table 2comprises a different set of profile data comprising a “Profile Name”, astart threshold, an end threshold (in some instances) and an indicatorof the set of rule data that is to be applied when the start thresholdis met. For example, line 1 comprises profile data named “Evenings”,having a start threshold at 17:00 weekdays and an end threshold of at09:00 weekdays. Hence, on weekdays, between the hours of 17:00 and 09:00the next morning, rule data 137 is to be applied such that data 133 isvisually coded at display device 128 according to rule data 137.

Similarly, line 2 of Table 2 comprises profile data named “Weekends”,having a start threshold at 17:00 on Fridays and an end threshold at09:00 on Mondays. Hence, weekends, between the hours of 17:00 on Fridayand 09:00 on Monday, rule data 137 is to be applied such that data 133is visually coded at display device 128 according to rule data 138.

Line 3 of Table 2 comprises profile data named “Workdays”, having astart threshold at 09:30 on Weekdays and an end threshold of 17:00 onWeekdays. Hence, weekdays, between the hours of 09:30 and 17:00, no ruledata is to be applied such that data 133 is not visually coded atdisplay device 128. It is understood that between 09:00 and 09:30 onweekdays, there is a 30 minute gap during which no profile data 135 isactive.

Line 4 of Table 2 comprises profile data named “Holidays”, having astart threshold of December 25. While no end threshold is provided, itis understood that profile data “Holidays” is to be applied on December25 and not applied before or after. Hence, on December 25, between thehours of 00:00 and 23:59, rule data 138 is to be applied such that data133 is visually coded at display device 128 according to rule data 138.

Finally, Line 5 of Table 2 comprises profile data named “Vacations”,having a start threshold of Feb. 11, 2010 and an end threshold of Feb.23, 2010. Hence, from Feb. 11, 2010 to Feb. 23, 2010 (e.g. 0:00 on Feb.11, 2010 to 23:59 on Feb. 23, 2010), rule data 139 is to be applied suchthat data 133 is visually coded at display device 128 according to ruledata 139.

It is understood that profile data 135 is generated and storedindependently of rule data 137.

It is understood that memory device 125 can store any suitable number ofsets of profile data, according to any suitable criteria.

For example, in some embodiments; at least one of the start thresholdand the end threshold can be based on at least one of usage of computingdevice 101 and behavior of a user of computing device 101. In someembodiments, computing device 101 can be enabled to at least one ofmonitor usage of computing device 101, monitor presence of a userassociated with computing device 101, and/or communicate with a presenceserver (not depicted) to request presence data and/or behavior data ofthe user associated with computing device 101. In any event, computingdevice 101 can then generate and store profile data based on at leastone of usage of computing device 101 and behavior of a user of computingdevice 101. For example, computing device 101 can determine thatcomputing device 101 is in use, on average, from 09:45 to 18:00 everyweekday and generate “Workdays” profile data and/or “Evenings” profiledata similar to that in Table 2, however with the times adjustedaccordingly (e.g. “Workdays” profile data can have start and endthresholds adjusted respectively at 09:45 and 18:00 weekdays; in someembodiments, the start threshold of the “Evenings” profile data can alsobe adjusted to 18:00 to prevent overlap of profile data).

In general, only one set of profile data is active at any given time,however in some embodiments, criteria for activating profile data canoverlap. For example, “Evenings” can overlap with “Weekends” on Fridaysfrom 17:00 to 11:59; thus there is confusion as to which set of profiledata is active, and hence which set of rule data 137, 138 is to beapplied. In these embodiments, to resolve conflicts, priorities can beassigned to profile data 133, as represented, for example, by the orderprovided in Table 2, in which a higher number line can have priorityover a lower number line. Hence, “Weekends” have priority over“Evenings” and if a conflict occurs, “Weekends” becomes active. While,in these embodiments, “Workday” has priority over “Weekends” and“Evenings”, as the periods of time for each are mutually exclusive, notconflict occurs.

It is understood that any other suitable method of indicating priorityis within the scope of present embodiments, and that indications ofpriority are not to be considered particularly limiting.

In any event, turning again to FIG. 2, it is understood that a presenttime is 18:30 on Thursday Nov. 26, 2009, hence the “Evening” profiledata, within profile data 135 of Table 2, is active: rule data 137 isthus applied to data 133 arriving from 17:00 onwards.

For example, attention is directed to line 211 of FIG. 2 which isrepresentative of data 133 arriving 18:13 on Thursday, Nov. 26, 2009, orafter the start threshold criteria has been met for the “Evening”profile data of Table 2. Hence rule data 137 is applied: specifically,the text in field 205 of line 211 meets the criteria of the rule in line2 of Table 1, in that the SUBJECT contains “CEO”, hence line 211 isvisually coded with right hatching shading. Similarly, the text in field203 of line 211 meets the criteria of the rule in line 3 of Table 1, inthat the FROM field equals “Cathy Johannson”, hence the 211 is visuallycoded with a bold font.

In contrast to line 211, attention is directed to line 213 of FIG. 2which is representative of incoming data arriving at 16:59 on Thursday,Nov. 26, 2009, before the start threshold criteria has been met for the“Evening” profile data of Table 2. It is understood from Table 2 that16:59 on Thursday, Nov. 26, 2009 meets the criteria of the “Workdays”profile data of Table 2, in that 16:59 is after 09:30 on a weekday. Ineither case, it is understood that rule data 137 is not to be applied;indeed, no rule data is to be applied (as per Table 2, “None”). Hence,no visual coding of line 213 occurs.

In further contrast to line 211, attention is directed to line 214 ofFIG. 2 which is representative of incoming data arriving at 20:03 onThursday, Nov. 26, 2009, after the start threshold criteria has been metfor the “Evening” profile data of Table 2. Hence rule data 137 isapplied: however, as none of the criteria of rule data 137 of Table 1 ismet, no visual coding of line 214 occurs.

Consider now FIG. 3, which is substantially similar to FIG. 2 with likeelements having like numbers, however the present time is now 09:30 onFriday Nov. 27, 2009, as understood from field 221. It is furtherunderstood that two more sets of incoming data, similar to data 133,have arrived at computing device 101, as represented by lines 311, 312.A first set of incoming data arrived from “Cathy Johansson” (asunderstood from field 203 of line 312) on Thursday November 26 at 20:00(as understood from field 207 of line 312), i.e. while the “Evenings”profile data was active. Hence, rule data 137 was applied: as the textin the “FROM” field 203 of line 312 contains “Cathy Johansson”, line 312is visually coded with a bold font (e.g. see line 3 of Table 1).

However, a second set of incoming data from “Cathy Johansson” (asunderstood from field 203 of line 311) arrived on Friday November 27 at09:01 (as understood from field 207 of line 311), once an end thresholdfor profile data 137 is met (i.e. 09:00 weekdays). Indeed, in theseembodiments, once an end threshold is met (i.e. 09:00 weekdays of the“Weekdays” profile data of Table 2), application of rule data 137automatically ceases, incoming data is no longer visually coded atdisplay device 128, and hence line 311 is not visually coded.

Consider now another non-limiting embodiment as depicted in FIG. 4,which is substantially similar to FIG. 3 with like elements having likenumbers. However, in these embodiments, once an end threshold is met(e.g. 09:00 on weekdays, of the “Evening” profile data) application ofrule data 137 to both incoming data 133 and previously received data canautomatically cease such that neither incoming data 133 nor previouslyreceived data is visually coded at display device 128. Such embodimentsare understood by comparing FIG. 3 to FIG. 4 in that lines 211 and 312are visually coded in FIG. 3, while lines 211 and 312 are not visuallycoded in FIG. 4.

Automatic ceasing of application of rule data 127 can also occur whenprofile data becomes active. For example, consider embodiments in whichprofile data 135 comprises the contents of Table 3:

TABLE 3 Profile End Rule Name Start Threshold Threshold Data 1 Evenings17:00 Weekdays 137 2 Weekends 17:00 Fridays 138 3 Workdays 09:30Weekdays None 4 Holidays 00:00 24:00 138 5 Vacations 00:00 24:00 139

Table 3 is similar to Table 2, except that the “Evenings”, “Weekends”,and “Workdays” profile data have no end threshold. Hence, in theseembodiments, once a start threshold is met, given profile data is activeuntil another start threshold is met. In these embodiments, the priorityof profile data having names containing given keywords, such as“Vacation” can be higher than profile names that do not contain thekeywords. For example, “Evening”, “Weekends”, and “Workdays” profiledata can all have equal priority as the respective start thresholds ofeach define when they are active, as well as when previously activeprofile data becomes inactive (e.g. “Evening” profile data becomesinactive at 09:30 on Monday when “Weekdays” profile data becomesactive); however profile data “Holidays” and “Vacations” interrupt theprocess of activating each of “Evening”, “Weekends”, and “Workdays”profile data. In turn, vacations lie outside of the usualworkday/evening/weekend flow of daily life. Furthermore, in theseembodiments, profile data “Holidays” is understood to be active on eachday designated as a holiday in a calendar. Similarly, profile data“Vacations” is understood to be active on each day designated as avacation day in a calendar. This in contrast to profile data “Holidays”and “Vacations” in Table 2 where each of “Holidays” and “Vacations” isassociated with start and end thresholds occurring on a specific day andtime.

Returning now to FIG. 1, it is understood that link 137can comprise anysuitable combination of wired and wireless links as desired, such thatcomputing device 101 can receive data from computing device 134 and/orcommunicate with computing device 134. Hence, link 137 can comprise anysuitable combination of wired or wireless communication network,including but not limited to packet based networks, the Internet, alocal area network (LAN), a wireless local area network (WLAN), a widearea network (WAN), analog networks, the public switched telephonenetwork (PSTN), cell-phone networks (including but not. limited to CDMA(Code division multiple access), GSM (Global System for Mobilecommunications), UMTS (Universal Mobile Telecommunications System), 1X,Edge and the like), WiFi and WiMax networks.

In general, computing device 101 comprises any suitable computingdevice, including but not limited to any suitable combination ofpersonal computers, laptop computing devices, portable computingdevices, personal digital assistants (PDA), wireless communicationdevice, wireless computing device, portable electronic device, and thelike. Other suitable computing devices are within the scope of presentembodiments.

Processing unit 122 comprises any suitable processor, or combination ofprocessors, including but not limited to a microprocessor, a centralprocessing unit (CPU) and the like. Other suitable processing units arewithin the scope of present embodiments. In particular, processing unit122 is enabled to process application 141 which can be stored in memorydevice 125.

Communication interface 124 comprises any suitable wired and/or wirelesscommunication interface, or combination of communication interfaces,enabled to receive data from computing device 134 and/or communicatewith computing device 134 via link 137. Accordingly, communicationinterface 124 is enabled to communicate according to any suitableprotocol compatible with link 137, including but not limited to wiredprotocols, wireless protocols, cell-phone protocols, wireless dataprotocols, packet based protocols, Internet protocols, analog protocols,PSTN protocols, cell phone protocols, WiFi protocols, WiMax protocolsand the like, and/or a combination. Other suitable communicationinterfaces and/or protocols are within the scope of present embodiments.

Input device 126 is generally enabled to receive input data, and cancomprise any suitable combination of input devices, including but notlimited to a keyboard, a keypad, a pointing device, a mouse, a trackwheel, a trackball, a touchpad, a touch screen and the like. Othersuitable input devices are within the scope of present embodiments.

Memory device 125 can comprise any suitable memory device, including butnot limited to any suitable one of or combination of volatile memory,non-volatile memory, random access memory (RAM), read-only memory (ROM),hard drive, optical drive, flash memory, magnetic computer storagedevices (e.g. hard disks, floppy disks, and magnetic tape), opticaldiscs, and the like. Other suitable memory devices are within the scopeof present embodiments. In particular, memory device 125 is enabled tostore data 133, profile data 135, and rule data 137, as well asapplication 141.

In some embodiments, data 133, profile data 135, and rule data 137 canbe stored in a memory device external and/or remote from computingdevice 101, but accessible to computing device 101, for example a memorydevice storing a remote database.

Display device 128 comprises circuitry 139 for generatingrepresentations of data, for example representation 140 of application141. Display device 128 can include any suitable one of or combinationof CRT (cathode ray tube) and/or flat panel displays (e.g. LCD (liquidcrystal display), plasma, OLED (organic light emitting diode),capacitive or resistive touchscreens, and the like). Circuitry 139 caninclude any suitable combination of circuitry for controlling the CRTand/or flat panel displays etc., including but not limited to displaybuffers, transistors, electron beam controllers, LCD cells, plasmascells, phosphors etc. In particular, display device 128 and circuitry139 can be controlled by processing unit 122 to generate representation140.

Attention is now directed to FIG. 5 which depicts a method 500 forprocessing data on a computing device. In order to assist in theexplanation of method 500, it will be assumed that method 500 isperformed using system 100. Furthermore, the following discussion ofmethod 500 will lead to a further understanding of system 100 and itsvarious components. However, it is to be understood that system 100and/or method 500 can be varied, and need not work exactly as discussedherein in conjunction with each other, and that such variations arewithin the scope of present embodiments.

At step 501, profile data 135 is stored, profile data 135 comprising atleast a start threshold, profile data 135 associated with rule data 137.In some embodiments, profile data 135 can be determined automaticallyvia monitoring of usage of computing device 101 and/or processing ofpresence data, as described above. In other embodiments, profile data135 can be determined by receiving input data from input device 126, theinput data comprising data defining the start threshold. It isunderstood that the start threshold comprises at least one of a time ofday, a day of the week, a date, an indication of a beginning of aweekend, an indication of an end of a work day, an indication of abeginning of a vacation, and/or can be based on at least one of usage ofcomputing device 101 and user behavior.

In general it is understood that profile data 135 is associated withrule data, for example at least one of rule data 137, 138, 139 or acombination thereof, rule data 137, 138, 139 comprising data forvisually coding incoming data 133. Hence, step 501 can further compriseassociating profile data 135 with rule data 137, 138, 139. In particulargiven rule data 137 is associated with the start threshold in profiledata 135. Indeed, it is understood that respective rule data 137, 138,139 can be associated with one or more start thresholds in profile data135. It is understood that rule data 137, 138, 139 for visually codingincoming data 133 can be based on at least one of a subject of incomingdata 133, a network address associated with incoming data 133 (e.g. anetwork address of computing device 134), an alias, and at least onekeyword within incoming data 133.

At step 503 it is determined if the start threshold of profile data 135is met. When the start threshold is met as described above, at step 505the appropriate rule data, for example rule data 137, is automaticallyapplied such that incoming data 133 is visually coded at display device128 according to the rule data. Otherwise step 503 is repeated, asdesired, until the start threshold is met. At step 505, incoming data133 can be visually coded according to at least one of color, font, andshading.

Automatic application of rule data 137 continues until, at step 507, atleast one of an end threshold in profile data 137 and a second startthreshold in profile data 135 is met, as described above. Then, at step507, application of rule data 137 to incoming data 133 automaticallyceases, such that incoming data 133 is no longer visually coded atdisplay device 128 according to rule data 137. Furthermore, though notdepicted, it is understood that in some embodiments, at step 507automatically ending visual coding of previously received data canoccur, thereby turning off visual coding that occurred at step 505.

In embodiments where a second start threshold is met at step 507, at anoptional step 511, the automatic application of second rule data, forexample rule data 138, occurs, second rule data associated with thesecond start threshold, such that incoming data 133 is visually coded atdisplay device 128 according to the second rule data.

After step 509 or step 511, method 500 can be repeated from either step501 (e.g. new profile data is stored), or step 503, as depicted.

In method 500 it is understood that automatically applying rule data137, when the start threshold is met, can occur in application 141 oncomputing device 101. It is further understood that incoming data 133can comprise any suitable message data, and that application 141 cancomprise at least one of a messaging application, an e-mail application,a voicemail application, an instant messaging application, an MMSapplication, an SMS application, and a texting application.

Hence, by automatically applying rule data in an application , such thatcertain data is highlighted when certain criteria in given profile datais met, such as a start threshold, the use of the computing resources ofthe computing device is reduced, as otherwise resources would then haveto be used to manually turn on and turn off coding features, such ascolor coding. Present embodiments further save on wear and tear of aninput device of the computing device as less input data is received toturn coding features on and off. Present embodiments where the computingdevice comprises a mobile electronic device or the like have particularadvantages due to the limited size of the display screen, and hence onlya limited number of lines can be displayed: when scrolling through manymessages, the messages that are the most urgent, according to the ruledata, can be found more easily, and further wear and tear is reducedthrough automatic application of rule data when criteria in profile datais met, rather than manually turning the feature on and off.

Attention is now directed to FIG. 6 which depicts a system 600comprising a computing device 601 for processing data, according tonon-limiting embodiments. System 600 is similar to system 100 with likeelements having like numbers. However, first profile data 635 a andsecond profile data 635 b (collectively profile data 635 and genericallyprofile data 635) are stored at computing device 601, at memory device625. Further stored at memory device 625 is rule data 637, similar torule data 137, comprising rules for visually coding incoming data, suchas message data 633, similar to message data 133. First profile data 635a is associated with a first subset 637 a of rule data 637, and secondprofile data 635 b is associated with a second subset 637 b of rule data637.

Each of first profile data 635 a and second profile data 635 b aregenerated independent of rule data 637. For example, rule data 637 canbe generated and stored at memory device 625. Then first profile data635 a can be generated and stored once rule data 637 is generated andstored. When generating first profile data 635 a, subset 637 a of ruledata 637 can be selected and associated with first profile data 635 a.Similarly, when generating second profile data 635 b, subset 637 b ofrule data 637 can be selected and associated with second profile data635 b. However, in some embodiments, rule data 637 can also be added toduring generation of first profile data 635 a and second profile data635 b.

Attention is now directed to FIG. 7, which depicts a representation 700of an application for generating rules, for example a rule-generatingview of application 641. For example, in some embodiments,representation 640 can comprise representation 700. Representation 700can comprise a header 701 identifying representation 700, a virtualbutton 703 for adding new rules, a “Field” column 711, a “Comparison”column 712, a “Text” column 713, and an “Action” column 714. Each column711 to 714 comprises rows 721, 722, 723, 724, 725 corresponding to rulesin rule data 637: for example, rows 721 to 725 correspond to lines 1 to5 in Table 1, described above. A field of a message (e.g. an e-mail) canbe received (and/or selected via a pull-down menu icon 730) in column711, a comparison value received and/or selected in column 712, the textto be compared with the field on column 711 can be received and/orselected in column 713, and the resulting action that is to occur, whenthe text in column 713 compares with the field of column 711 accordingto the comparator of column 712, can be received and/or selected incolumn 714. A new rule (e.g. a new row) can be added when button 703 isactuated. Furthermore changes to rules and/or new rules can be savedwhen a virtual “Save” button 730 is actuated. Such an action causes rule637 to be generated and/or updated.

While only rules pertaining to fields of messages and/or e-mails areprovided in FIG. 7 (and Table 1), it is understood that rule data 637can comprise any suitable types of rules.

Each of first profile data 635 a and second profile data 635 b comprisesa respective range of time and a respective recurrence pattern that canoccur indefinitely. For example, attention is directed to FIG. 8 whichdepicts a representation 800 of an application for generating firstprofile data 635 a independent of rule data 637, for example aprofile-generating view of application 641. For example, in someembodiments, representation 640 can comprise representation 800.Representation 800 can comprise a header 801 for identifyingrepresentation 800, a virtual button 803 for adding a new profile data,a “Profile Name” column 811, a “Recurrence” column 812, a “StartThreshold Column” column 813, and an “End

Threshold” column 814. Each column 811 to 814 comprises a row 821corresponding to the recurrence pattern and range of time associatedwith first profile data 635 a. For example, first profile data 635 acomprises a name “Weekends”, which identifies first profile data 635 a.The recurrence pattern of first profile data 635 a comprises weekends(e.g. first profile data 635 a is to be applied every weekend, whenactive). It is understood that that the recurrence pattern defined incolumn 812, e.g. “Weekends” occurs indefinitely. Furthermore, it isunderstood that the recurrence pattern can comprises at least one ofevery day, every week, every weekend, every workday, every workdayevening, every vacation and every holiday. In embodiments where therecurrence pattern comprises every vacation and/or every holiday, itunderstood that the associated profile data 635 is active on everyrespective day designated as a vacation and/or a holiday in anassociated calendar database.

First profile data 635 a further comprises a range of time defined bycolumns 813 and 814 of row 821: 17:00 Friday to 09:00 Monday. Forexample, column 813 comprises a start threshold of “17:00 Friday” andcolumn 814 comprises an end threshold of “09:00 Monday”. Values incolumns 813, 814 can be received and/or selected via respective pulldownmenu icons such as icon 830.

First profile data 635 a further comprises a subset 637 a of rule data637 which can be selected in field 840: field 840 comprises arepresentation of rule data 637, as generated via representation 700 ofFIG. 7, including a line for each rule in rule data 637. Subset 637 acan be chosen via checkboxes 842, a checked checkbox indicative that theassociated rule, in rule data 637, is a rule in subset 637 a, and anunchecked checkbox indicative the associated rule, in rule data 637, isnot a rule in subset 637 a. As depicted, profile data 635 a, “Weekends”corresponds to line 2 of Table 2, and subset 637 a corresponds to therule defined in row 723 of representation 700 (and/or line 3 of Table1). As such, subset 637 a can comprise a copy of the corresponding datain rule data 637 and/or a pointer to the corresponding data in rule data637.

New profile data 635 and/or changes to profile data 635 can be savedwhen a virtual “Save” button 850 is actuated. Such an action inrepresentation 800 causes first profile data 635 a be generated and/orupdated.

Furthermore, actuation of button 803 causes another representation,similar to representation 800, to be generated, so that new profile data635 (e.g. second profile data 635 b can be generated and stored.

In some embodiments, representation 800 can further comprise a virtual“Add New Rule” button 860. When button 860 is actuated, display device628 can be controlled to provide representation 700 so that new ruledata can be added to rule data 637. When representation 700 is closed,display device 628 is controlled to again display representation 800with, however, any new rules provided in field 840.

Attention is now directed to FIG. 9, which depicts a representation 900of an application for activating profiles, for example aprofile-activation view of application 641. For example, in someembodiments, representation 640 can comprise representation 900.Representation 900 comprises a header 901 identifying representation900, and a list 910 of profile names, for example profile names fromTables 2 and/or 3, each profile name in list 910 associated with a setprofile data: for example profile name “Weekends” can be associated withprofile data 635 a, while profile name “Evenings” can be associated withprofile data 635 b. Each profile name in list 910 can be selected via anassociated checkbox 942, with checkbox 942 being checked indicative thatthe associated profile data 635 is activated. Accordingly, receipt ofinput data from input device 626 indicating that a checkbox is to bechecked, comprises an indication that associated profile data 635 hasbeen activated. Representation 900 can further comprise a virtual “Save”button 950 that causes the data received in representation 900 to besaved in memory device 625 when actuated. Representation 900 can furthercomprise a virtual “Add New Profile” button 960 that causes display,device 628 to be controlled to provide representation 800. Whenrepresentation 800 is closed, display device 628 is controlled to againdisplay representation 900 with any profiles names provided in list 910.

Attention is now directed to FIG. 10 which depicts a method 1000 forprocessing data on a computing device. In order to assist in theexplanation of method 1000, it will be assumed that method 1000 isperformed using system 600. Furthermore, the following discussion ofmethod 1000 will lead to a further understanding of system 600 and itsvarious components. However, it is to be understood that system 600and/or method 1000 can be varied, and need not work exactly as discussedherein in conjunction with each other, and that such variations arewithin the scope of present embodiments.

At step 1001, rule data 637 is stored, for example via representation700.

At step 1003, first profile data 635 a is stored, for example in memorydevice 625. First profile data 635 a comprises a first range of time anda first recurrence pattern that repeats indefinitely. For example, thefirst range of time can comprise the range of time defined by columns813, 814 of representation 800. The first recurrence pattern cabcomprises the recurrence pattern defined in column 812 of representation800. Furthermore, it is understood that step 1003 occurs independentlyof step 1001 such that first profile data 635 a is generated independentof rule data 637.

At step 1005, second profile data 635 b is stored, for example in memorydevice 625. Second profile data 635 b comprises a second range of timeand a second recurrence pattern that repeats indefinitely. The secondrange of time and the second recurrence pattern can be defined in arepresentation similar to representation 800. Furthermore, it isunderstood that step 1005 occurs independently of steps 1001, 1003 suchthat second profile data 635 b generated independent of rule data 637and first profile data 635 a.

At step 1007, first profile data 635 a is associated with first subset637 a of rule data 637. Step 1007 can occur in parallel with step 1003,for example within representation 800 where subset 637 a is chosen fromrules within rule data 637.

At step 1009, second profile data 635 b is associated with second subset637 b of rule data 637. Step 1009 can occur in parallel with step withstep 1005, for example within a representation similar to representation800 where subset 637 b is chosen from rules within rule data 637.

At step 1011, a first indication that first profile data 635 a has beenactivated is received. For example, an indication that an associatedprofile name in list 910 of FIG. 9 has been selected via a checkbox 942can be received, indicating first profile data 635 a has been activated.Hence, first profile data 635 a can be generated upon receipt of inputdata at input device 626.

It is understood that the first range of time can comprise a first startthreshold and a first end threshold, as depicted in FIG. 8. Hence, step1011 can comprise receiving an indication that the first start thresholdhas been met, for example as in step 503 of method 500.

In response, at step 1013, first subset 637 a is automatically appliedduring the first range of time such that incoming data is visually codedat display device 628 according to first subset 637 a during the firstrange of time. It is understood that automatic application of firstsubset 635 a during the first range of time repeats indefinitelyaccording to the first recurrence pattern until a second indication thatfirst profile data 635 a has been deactivated is received. For example,the second indication can comprise an indication that the associatedprofile name in list 910 of FIG. 9 has been unselected via theassociated checkbox 942 being unchecked.

At step 1015, a third indication that second profile data 635 b has beenactivated is received. For example, an indication that an associatedprofile name in list 910 of FIG. 9 has been selected via a checkbox 942can be received, indicating second profile data 635 b has beenactivated. Hence, second profile data 635 b can be generated uponreceipt of input data at input device 626.

It is understood that the second range of time can comprise a secondstart threshold and a second end threshold, similar to those depicted inFIG. 8. Hence, step 1015 can comprise receiving an indication that thesecond start threshold has been met, for example as in step 503 and/orstep 507 of method 500.

In response, at step 1017, second subset 637 b is automatically appliedduring the first range of time such that incoming data is visually codedat display device 628 according to second subset 637 b during the firstrange of time. It is understood that automatic application of secondsubset 637 b during the second range of time repeats indefinitelyaccording to the second recurrence pattern until a fourth indicationthat second profile data 635 b has been deactivated is received. Forexample, the fourth indication can comprise an indication that theassociated profile name in list 910 of FIG. 9 has been unselected viathe associated checkbox 942 being unchecked.

In some embodiments, method 1000 can further comprise updating at leastone of the first range of time, the first recurrence pattern, the secondrange of time and the second recurrence pattern based on at least one ofthe usage of computing device and user behavior, as described above.

In further embodiments, method 1000 can further comprise automaticallydeactivating first profile data 635 a when second profile data 635 b isactivated. For example, when step 1015 occurs, first profile data 635 acan be automatically deactivated. Hence, in these embodiments, only oneset of profile data 635 is active at any given time.

However, in other embodiments, method 1000 can further compriseresolving conflicts between first profile data 635 a and second profiledata 635 b based on respective priorities, as described above. Forexample, in these embodiments, both first profile data 635 a and secondprofile data 635 b can be active at the same time, hence steps 1013 and1017 occur in parallel. However, when conflicts occur, prioritiesassociated with each of first profile data 635 a and second profile data635 b can resolve the conflicts. For example, subset 637 a can indicatethat a field in an e-mail is to be shaded blue when given text ispresent therein, while subset 637 b can indicate that the same field isto be shaded red when the same given text is present therein. Prioritiesassigned to the associated profile data 635 can resolve the conflicts.

In any event, by storing first and second profile data, independent ofrule data, and associating subsets of rule data with each of the firstand second profile data, and by activating the first and second ruledata, incoming data can be visually coded according to the respectivesubsets during ranges of time and recurrence patterns associated witheach of the first and second profile data. Hence, subsets of rule datacan be applied by activating profile data, providing more flexibilityover when rules are applied and which rules are applied, ultimatelyleading to less use of computing resources in applying rules to incomingdata. This hence addresses a technical problem of overuse of computingresources when applying rules to incoming data as various views of rulesare opened and processed, and a processing unit controls a displaydevice (and an associated cache) to provide the various views.Furthermore the rule data is not adequately grouped and is applied in afragmented manner. In contrast, in present embodiments, by introducingprofile data and associating subsets of rule data therewith, a computingdevice processes a smaller number of views, leading to a more efficientuse of the cache of the display device, and furthermore organizes andapplies rule data in a more efficient manner.

Those skilled in the art will appreciate that in some embodiments, thefunctionality of computing devices 101, 601 can be implemented usingpre-programmed hardware or firmware elements (e.g., application specificintegrated circuits (ASICs), electrically erasable programmableread-only memories (EEPROMs), etc.), or other related components. Inother embodiments, the functionality of computing devices 101, 601 canbe achieved using a computing apparatus that has access to a code memory(not shown) which stores computer-readable program code for operation ofthe computing apparatus. The computer-readable program code could bestored on a computer readable storage medium which is fixed, tangibleand readable directly by these components, (e.g., removable diskette,CD-ROM (compact disc read only memory), ROM (read only memory), fixeddisk, USB (Universal Serial Bus) drive). Alternatively, thecomputer-readable program code could be stored remotely buttransmittable to these components via a modem or other interface deviceconnected to a network (including, without limitation, the Internet)over a transmission medium. The transmission medium can be either anon-wireless medium (e.g., optical and/or digital and/or analogcommunications lines) or a wireless medium (e.g., microwave, infrared,free-space optical or other transmission schemes) or a combinationthereof.

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by any one the patent documentor patent disclosure, as it appears in the Patent and Trademark Officepatent file or records, but otherwise reserves all copyrightswhatsoever.

Persons skilled in the art will appreciate that there are yet morealternative implementations and modifications possible for implementingthe embodiments, and that the above implementations and examples areonly illustrations of one or more embodiments. The scope, therefore, isonly to be limited by the claims appended hereto.

1. A method comprising: storing data for visually coding incoming datavia a computing device comprising a processor and a display device;storing, via the processor, first profile data comprising a first rangeof time and a first recurrence pattern that occurs indefinitely;storing, via the processor, second profile data comprising a secondrange of time and a second recurrence pattern that occurs indefinitely;automatically applying, via the processor, a first subset of the dataduring the first range of time such that the incoming data is visuallycoded at the display device according to the first subset of the dataduring the first range of time, automatic application of the firstsubset of the data during the first range of time occurring indefinitelyaccording to the first recurrence pattern; and automatically applying,via the processor, a second subset of the data during the second rangeof time such that the incoming data is visually coded at the displaydevice according to the second subset of the data during the secondrange of time, automatic application of the second subset of the dataduring the second range of time occurring indefinitely according to thesecond recurrence pattern.
 2. The method of claim 1, wherein the firstprofile data and the second profile data are each generated upon receiptof respective input data at an input device interconnected with theprocessor.
 3. The method of claim 1, wherein automatically applying thefirst subset of the data during the first range of time occurs when afirst start threshold has been met.
 4. The method of claim 1, whereinautomatically applying the second subset of the data during the secondrange of time occurs when a second start threshold has been met.
 5. Themethod of claim 1, wherein each of the first recurrence pattern and thesecond recurrence pattern comprises at least one of every day, everyweek, every weekend every holiday, every workday, every workday evening,every vacation and every holiday.
 6. The method of claim 1, furthercomprising updating at least one of the first range of time, the firstrecurrence pattern, the second range of time and the second recurrencepattern based on at least one of usage of the computing device and userbehaviour.
 7. The method of claim 1, further comprising deactivating thefirst profile data when the second profile data is activated.
 8. Themethod of claim 1, further comprising resolving conflicts between thefirst profile data and the second profile data based on respectivepriorities.
 9. The method of claim 1, wherein the processor is furtherinterconnected with a memory device storing the profile data and thedata.
 10. The method of claim 1, wherein The automatically applying thefirst profile data and the automatically applying the second profiledata occurs in an application on the computing device, the applicationcomprising at least one of a messaging application, an e-mailapplication, a voicemail application, an instant messaging application,an MMS (multimedia messaging service) application, an SMS (short messageservice) application, and a texting application, and the incoming datacomprising message data.
 11. A computing device for processing data,comprising: a memory device; a display device; and a processorconfigured to: store data comprising data for visually coding incomingdata; store first profile data comprising a first range of time and afirst recurrence pattern that occurs indefinitely; store second profiledata comprising a second range of time and a second recurrence patternthat occurs indefinitely; automatically apply a first subset of the dataduring the first range of time such that the incoming data is visuallycoded at the display device according to the first subset of the dataduring the first range of time, automatic application of the firstsubset of the data during the first range of time occurring indefinitelyaccording to the first recurrence pattern; and automatically apply asecond subset of the data during the second range of time such that theincoming data is visually coded at the display device according to thesecond subset of the data during the second range of time, automaticapplication of the second subset of the data during the second range oftime occurring indefinitely according to the second recurrence pattern.12. The computing device of claim 11, wherein the first profile data andthe second profile data are each generated upon receipt of respectiveinput data at an input device.
 13. The computing device of claim 11,wherein the processor is further configured to automatically apply thefirst subset of the data during the first range of time when a firststart threshold has been met.
 14. The computing device of claim 11,wherein the processor is further configured to automatically apply thesecond subset of the data during the first range of time when a secondstart threshold has been met.
 15. The computing device of claim 11,wherein each of the first recurrence pattern and the second recurrencepattern comprises at least one of every day, every week, every weekendevery holiday, every workday, every workday evening, every vacation andevery holiday.
 16. The computing device of claim 11, wherein theprocessor is further configured to update at least one of the firstrange of time, the first recurrence pattern, the second range of timeand the second recurrence pattern based on at least one of usage of thecomputing device and user behaviour.
 17. The computing device of claim11, wherein the processor is further configured to deactivate the firstprofile data when the second profile data is activated.
 18. Thecomputing device of claim 11, wherein the processor is furtherconfigured to resolve conflicts between the first profile data and thesecond profile data based on respective priorities.
 19. The computingdevice of claim 11, wherein the processor is further configured toautomatically apply the first profile data and the automatically applythe second profile data in an application on the computing device, theapplication comprising at least one of a messaging application, ane-mail application, a voicemail application, an instant messagingapplication, an MMS (multimedia messaging service) application, an SMS(short message service) application, and a texting application, and theincoming data comprising message data.
 20. A computer program product,comprising a non-transitory computer readable storage medium having acomputer readable program code adapted to be executed to implement amethod on a computing device, the computing device comprising aprocessor interconnected with a display device, the method comprising:storing data for visually coding incoming data via a computing devicecomprising a processor and a display device; storing, via the processor,first profile data comprising a first range of time and a firstrecurrence pattern that occurs indefinitely; storing, via the processor,second profile data comprising a second range of time and a secondrecurrence pattern that occurs indefinitely; automatically applying, viathe processor, a first subset of the data during the first range of timesuch that the incoming data is visually coded at the display deviceaccording to the first subset of the data during the first range oftime, automatic application of the first subset of the data during thefirst range of time occurring indefinitely according to the firstrecurrence pattern; and automatically applying, via the processor, asecond subset of the data during the second range of time such that theincoming data is visually coded at the display device according to thesecond subset of the data during the second range of time, automaticapplication of the second subset during the second range of timeoccurring indefinitely according to the second recurrence pattern.